Numerous network-based computing environments run updates, beta-tests, and experimental functionality using servers or remote computing resources. Given the diversity of computing environments, the manner in which computing devices respond to the introduction of new functionality can sometimes be unpredictable. With many conventional approaches, if an application is provided instructions and data for implementing new functionality, the application will re-launch with the new functionality still active. This results in the situation where the application repeats the failure, and can often lead to the application essentially becoming unusable. This can inconvenience the user, who may have to re-install the application.